The present application relates generally to an improved data processing apparatus and method and more specifically to mechanisms for performing fast path userspace Remote Direct Memory Access (RDMA) resource error detection.
Remote Direct Memory Access (RDMA) is a functionality that allows direct memory access from the memory of one computer into that of another computer without involving either computer's operating system. RDMA facilitates high throughput, low-latency networking, which is especially useful in massively parallel computer clusters.
RDMA supports zero-copy networking by enabling the network adapter of a computer to transfer data directly to or from application memory, thereby eliminating the need to copy data between the application memory and the data buffers in the operating system. Such direct transfers of data do not require any work to be done by the processors, cache memories, or the like, and do not require context switches. Such direct transfers may be performed in parallel with other system operations that the computers are performing. For example, when an application performs a RDMA Read or Write request, the application data is delivered directly to the network via a RDMA enabled network adapter, reducing the latency of the transfer.
Many modern architectures and specifications are designed with RDMA and RDMA enabled network adapters in mind. For example, the InfiniBand™ specification maintained and furthered by the InfiniBand™ Trade Association (IBTA), and InfmiBand™ architectures developed by International Business Machines Corporation of Armonk, N.Y., provide support for RDMA operations to be performed via the InfiniBand™ fabric. Similarly, the Open Fabrics Enterprise Distribution (OFED™) specification and architecture, maintained and furthered by the Open Fabrics Alliance (OFA), and which is built upon the InfiniBand™ specification, also provides support for ROMA operations. For more information about InfiniBand™ and OFED™, additional information may be obtained from the IBTA and OFA organizations and corresponding websites.